﻿using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace ProceduralCity.Textures.Windows
{
    interface IWindowTexture
    {
        /// <summary>
        /// Returns the entire texture generated.
        /// </summary>
        Texture2D Texture { get; }

        /// <summary>
        /// Generates a texture containing multiple windows.
        /// </summary>
        Texture2D Generate(int windowWidth, int windowHeight, int windowsWide, int windowsHigh);

        /// <summary>
        /// This function is useful for copying a window to another texture.
        /// </summary>
        Rectangle GetWindowRect(int row, int col);
    }
}
